from abc import ABCMeta,abstractmethod
class IWebHandler(object):

    @abstractmethod    #调用@abstractmethod规定子类必须有pay方法
    def setValueById(self,id,value):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def setValueByName(self, name,value):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getValueById(self, id):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getValueByName(self, name):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getValueByClass(self, className):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getValuesByName(self, name):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getValuesByClass(self, className):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getTextByXPath(self, xpath):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getTextsByName(self, name):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getTextsByClass(self, className):
        pass


    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getOuterHtml(self):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def clickById(self, id):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def moveElementByXPath(self, xpath):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def moveElementById(self, id):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def moveElementByTag(self, tag):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def moveElementByClass(self, className):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getCurrentElement(self):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getTextByXPathAt(self, xpath, index):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getAttrByXPathAt(self, attrName,xpath, index):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getTextByNameAt(self, name,index):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getTextByClassAt(self, className,index):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getTextByTagAt(self, tagName, index):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getSize(self):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def getHrefByTagAt(self, tagName, index):
        pass

    @abstractmethod  # 调用@abstractmethod规定子类必须有pay方法
    def setCurrentElement(self,currentElement):
        pass